#include"Processbar.h"
#include<string.h>
#include<unistd.h>

#define Length 101
#define Style '#'

const char *lable="|/-\\";

//version1:
//void ProcBar()
//{
//  char bar[Length];
//  memset(bar,'\0',sizeof(bar));
//  int len=strlen(lable);
//
//  int cnt=0;
//  while(cnt<=100)
//  {
//    printf("[%-100s][%3d%%][%c]\r",bar,cnt,lable[cnt%len]);
//    fflush(stdout);
//    bar[cnt]=Style;
//    cnt++;
//    usleep(20000);
//  }
//  printf("\n");
//}


//version 2
void ProcBar(double total, double current)
{
    char bar[Length];
    memset(bar, '\0', sizeof(bar));
    int len = strlen(lable);

    int cnt = 0;
    double rate = (current*100.0)/total;
    int loop_count = (int)rate;
    while(cnt <= loop_count)
    {
        bar[cnt++] = Style;
        usleep(20000);
    }
    printf("[%-100s][%.1lf%%][%c]\r", bar, rate, lable[cnt%len]);
    fflush(stdout);
}

